1. Field of the Invention
The present invention relates to a disc array control method and apparatus and more particularly to a disc array control method and apparatus which can keep constant the access time of the error correction data and sub-block by generating an error correction data from the sub-block.
2. Description of the Related Art
The computer systems have realized remarkable development in these years and such development requires more improved characteristics of an external memory device. In order to satisfy such requirement, a disc array apparatus has been developed. This disc array apparatus realizes large capacity by comprising a plurality of disc drives. In this case, each disc drive is operated in parallel to realize high speed access for reading and writing the data and also realize higher reliability by introducing error correction data.
In the case of storing data in the disc array apparatus, data is divided into a plurality of sub-blocks and an error correction data is generated from such sub-blocks and all sub-blocks and error correction data are written into individual disk drives.
On the contrary, in the case of reading data from a disc array apparatus, a plurality of sub-blocks and error correction data are read simultaneously from a plurality of sub-blocks from a disc drive storing sub-blocks constituting data and error correction data. The original data is constituted from the sub-blocks read out and if an error is not found, the data is transmitted in direct. In this case, if data cannot be read normally due to such a reason that the recording area storing the sub-blocks is broken, the correct data is recovered from the other sub-blocks read normally and error correction data and thereafter such data is transmitted.
Moreover, in the disc array apparatus, it is also possible to provide the function that even if one disc drive is perfectly broken, the broken disc drive is replaced with a new disc drive and the broken data is recovered using the data in the other disc drive.
For the disc array apparatus introducing the error correction data, several different systems are provided. Professor David A. Patterson (Berkeley School of UC) et. Al. have proposed to classify the system into five stages and use the term level of RAID (Redundant Arrays of Inexpensive Disks) first time. Contents of such proposal are briefly introduced herein.
The RAID-1 level is called the mirrored disc in which the data of the disc drive is duplicated. In the RAID-1 level, the exactly same data is stored in a couple of disc drives. In the RAID-2, 3 levels, an input data is divided in unit of bit or byte and stored in a plurality of disc drives. In the RAID-2 level, the Hamming code is used as the error correction data, while in the RAID-3 level, parity is used as the error correction data. In the RAID-4, 5 levels, the data is interleaved in unit of sector. In the RAID-4 level, parity is stored in the same disc drive, while in the RAID-5 level, parity is stored in a plurality of disc drives.
Of these RAID levels, the RAID-3 and RAID-5 levels are used most often in an ordinary disc array apparatus. FIG. 1 shows a structure of the example of the disc array apparatus of the RAID-3 system and FIG. 2 shows a structure of the example of the disc array apparatus of the RAID-5 system.
Namely, in the disc array apparatus of RAID-3 system shown in FIG. 1, the input data is divided in units of one byte and each data divided in unit of byte is stored into one of a plurality of disc drives. The parity as the error correction data is stored in a predetermined disc drive. Here, the parity P.sub.1-4 for the data of No. 1 to No. 4 stored in a plurality of disc drives and the parity P.sub.5-8 for the data of No. 5 to No. 8 are stored in the predetermined disc drive.
Moreover, in the disc array apparatus of RAID-5 system shown in FIG. 2, the input data is divided in units of one sector and these data are interleaved for dispersion to a plurality of disc drives. In this case, the data A, E, I are stored in the first disc drive, the data B, F, J in the next disc drive and the data C, G and the parity P.sub.I-L for the data I to L are stored in the next disc drive. Moreover, the data D, K and parity P.sub.E-H for the data E to H in the next disc and the parity P.sub.A-D for the data A to D and the data H, L are stored in the final disc drive.
On the other hand, owing to the development of computers in these years, it is possible now to deal with multi-media data represented by image and voice data. The storage for these multi-media data is sometimes called a multi-media server. Since the multi-media server is required to assure the larger memory capacity and higher transfer rate, the hardware system is often realized as the disc array apparatus. However, emphasis has been placed in the average performance of process in the computer server of the related art, but importance is placed in how control the worst value of the time required for completing the process in the multi-media server.
For example, in the case of moving image, movement is not natural if 30 images are not sequentially displayed within one second with a constant interval. Moreover, if capability of the disc drive is insufficient and voice data becomes shortage, the voice signal is intermitted to generate uncomfortable noise. Assurance for the upper limit that total processing may be done within such a time even in the worst case is called the assurance for real-time property. In the multi-media server, it is also important whether such real-time property can be assured or not.
Here, there is provided a format method called zone bit recording (ZBR) for the disc memory device such as hard disc. Under the condition that the recording density is constant and rotating speed of the disc is also constant, a larger number of sectors per track may be obtained in the external circumference rather than the internal circumference. In the format method ZBR, the recording surface is divided into a plurality of zones depending on the distance from the center of disc. A larger number of sectors per track is provided in the external zones rather than the internal zones in order to increase the recording capacity of disc.
FIG. 4 indicates a relationship between cylinder address and the number of sectors per track in the disc memory device formatted by the ZBR method. In this case, 176 sectors, for example, exist in the tracks of the external circumference side and 132 sectors, for example, exist in the internal tracks. Namely, a larger number of sectors exist in the tracks in the external circumference side than the tracks in the internal circumference side.
Since the rotating velocity is always constant in the disc memory device of the ZBR system, although the number of sectors of the internal circumference is less than that of the external circumference, here rises a problem that a longer time is taken to read the data stored in the internal circumference side even when the data size is equal. This problem is also adopted to the disc array apparatus utilizing the disc memory device of the ZBR system. Namely, since the time required for data reading is different depending on the storing location of the sub-blocks generated by dividing the data, the time in which the disc array apparatus can transmit the data is also determined depending on such storing location. In the same manner, the data writing time is also different depending on the storing location.
FIG. 5 shows a profile in which data is dispersed to each disc memory device when the data is stored by the RAID-3 method. In this example, the fixed length data and error correction data are written to gradually fill the disc from the outer most circumference. In this case, since the sub-block forming the first data and the error correction data are stored in the outer most circumference, the shortest reading or writing time is required. On the contrary, since the sub-block forming the last data and error correction data are stored in the inner most circumference, the longest reading or writing time is required. As explained above, such tendency for changing the access time depending on the storing location is particularly not preferable for application in the multi-media field where assurance for the real-time property is required.
Moreover, as shown in FIG. 6, in the server utilizing a disc memory device of the ZBR system, it is thought that the sub-blocks for storing data are classified into those for storing data from the external circumference of disc and those for storing data from the internal circumference of disc in order to make constant the times required for reading and writing of data and thereby the data size is determined in such a way to make constant the data reading time and data writing time.
On the occasion of deciding a size of each sub-block, it is determined so that it is proportional to the number of sectors per track storing the data. In this case, the size of each sub-block is not equal. On the other hand, in the error correction data generating method in the related art system including the RAID-1 system to RAID-5 system, there has been a condition that the sub-blocks are all given the equal size. Therefore, it has been impossible in the related system that the error correction data cannot be generated for the sub-blocks in different sizes.